1、前言
Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,目前已经加入Spring Cloud项目,跟随Spring Cloud一起维护。集成Nacos需要使用Spring Cloud Alibaba Nacos模块。
拓展阅读:Spring Cloud 加盟重量级成员Spring Cloud Alibaba,打造更符合中国国情的微服务体系
2、启动nacos服务
在上文《Nacos快速入门(二):Nacos集群安装部署》谈的了nacos的集群部署,如果你没有那么多linux机器来搭建集群,可以本地启动非集群模式nacos服务:
- Linux/Unix/Mac:sh startup.sh -m standalone
- Windows:cmd startup.cmd -m standalone
Windows下可以直接双击nacos/bin目录下的startup.cmd
3、搭建服务接入nacos注册中心
搭建spring boot项目nacos-spring-cloud-discovery-example,编辑pom.xml
|
|
附录:Spring Cloud Alibaba & Spring Cloud & Spring Boot兼容版本
Spring Cloud Alibaba依赖坐标的groupId
有两个,对应的版本是不一样的
- 项目孵化期间,使用的
groupId
为org.springframework.cloud
,兼容版本:
Spring Boot | Spring Cloud | Spring Cloud Alibaba |
---|---|---|
2.1.x | Greenwich | 0.9.x |
2.0.x | Finchley | 0.2.x |
1.5.x | Edgware | 0.1.x |
1.5.x | Dalston | 0.1.x |
- 项目孵化之后,使用的
groupId
为com.alibaba.cloud
,兼容版本:
Spring Cloud Version | Spring Cloud Alibaba Version | Spring Boot Version |
---|---|---|
-------- | -------- | -------- |
Spring Cloud Greenwich | 2.1.x.RELEASE | 2.1.x.RELEASE |
Spring Cloud Finchley | 2.0.x.RELEASE | 2.0.x.RELEASE |
Spring Cloud Edgware | 1.5.x.RELEASE | 1.5.x.RELEASE |
拓展阅读:Spring Cloud Alibaba 发布第一个正式版本,顺利完成孵化!
3.1、服务创建者
第一步: 在nacos-spring-cloud-discovery-example下新建mavem模块nacos-spring-cloud-provider-example,编辑pom.xml,加入nacos服务注册发现模块依赖
|
|
第二步: 创建提供者应用主类
|
|
第三步: 在application.properties
中配置应用名称和nacos注册中心地址
|
|
第四步: 我们启动两个服务实例,启动第一个实例后,我们修改server.port=8081,然后再启动一个实例
如果不想修改配置,可以在启动参数中添加
-Dserver.port=8081
参数来启动
登录nacos控制台,查看服务列表:
进入服务详情:
3.2、服务消费者
第一步: 在nacos-spring-cloud-discovery-example下新建mavem模块nacos-spring-cloud-consumer-example,编辑pom.xml,加入nacos服务注册发现模块依赖
|
|
第二步: 创建消费者应用主类
|
|
第三步: 在application.properties
中配置应用名称和nacos注册中心地址
|
|
第四步: 启动服务,查看注册中心,消费者也注册上来了
到此,服务已经全部搭建好了,完整项目结构:
4、测试
消费者调用提供者接口测试
访问消费者接口:http://127.0.0.1:8090/hello,多次访问,调用的服务提供者实例是不同的
服务下线测试
把8081端口的服务提供者下线,再次请求接口,只会调用8080端口服务提供者
nacos这里做的是不很友好,服务下线成功与否控制台界面看不出来,相比之下eureka会友好些。